// 1. 将表单元素合法性检查提炼到了common.js中

// 2. 封装一个与服务器通讯的方法login
async function login(requestBody) {
    try {
        let res = await axios({
            url: '/login',
            method: 'POST',
            data: requestBody
        })
        let { username, token } = res.data.data
        // 保存服务器响应回来的数据 
        // 用户名保存
        // 服务器响应回来的token保存
        localStorage.setItem('username', username)
        localStorage.setItem('token', token)
        // 跳转到首页
        pxmu.toast('登录成功')
        setTimeout(() => {
            location.href = 'index.html'
        }, 1000)
    } catch (err) {
        // 异常处理
        pxmu.fail(err.response.data.message || '注册失败，请检查网络请求')
    }
}

// 3. 给登录按钮注册点击事件
document.querySelector('#btn-login').addEventListener('click', (e) => {
    e.preventDefault()

    // 获取表单元素
    const form = document.querySelector('.login-form')
    let body = serialize(form, { hash: true, empty: true })
    let { username, passord } = body

    // 调用common.js中的validate验证表单元素的合法性
    if (!validate(username, passord)) {
        pxmu.fail('【用户名】或者【密码】不符合规范')
        return
    }

    // 调用login方法完成登录
    login(body)
})
